Form1 !CURLIBM by Pierre Fillion (c)1992 Form1, Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Picture1 Label1 Timer1 Command1 E&xit LoadLibrary LibName LoadCursor hInstance CursorName SetClassWord hWnd8 nIndex NewValh DestroyCursor Handle GetFocus APISetFocus GetCursorPos PointType WindowFromPointk GCW_HCURSOR SysCursHandlew Curs1Handle Curs2Handle Pic1hWnd Command1hWnd Form_Click @ Form_Load Form1 DLLInstance CurrHwnd Picture1R Command1 Timer1 IntervalQ Enabled Form_Unloada Cancel LastCursor6 Success Timer1_TimerA Change class word* appropriate cursor command2_click Command1_Click Curs3Handle7 Command2 Command2hWnd Command3hWnd CursHandleB ArrayR Label1 LabelhWnd Screen ActiveControla PicturehWnd LastTMP SetCursorPos ShowCursor State Picture1_Click Index VarBool CasePic1hWnd& CasePicturehWnd Caption DLLInstance2 Unload DLLInstance3 LoadResource hResInfo} FindResource\ lpNamem lpType DLLInstance1 pixels square Label1_Click Remove observation CURLIBM API functions to manipulate cursor libraries kernels SetFocus user> UserC Control Variable for cursors animations Cursors Handles4 Objects hWnd Type for cursor positionss Form_Load Load Libraries c:\windows\curr.dll" c:\windows\curr2.dll First Library of cursors BOMB0" BOMB1" CLOCK0 CLOCK1 CLOCK2 CLOCK3 CLOCK4 CLOCK5 CLOCK6 CLOCK7 LAMP0" LAMP1" WATCH0 WATCH1 WATCH2 WATCH3 SWORD" PIRANHA" SCREW0 SCREW1 SCREW2 SCREW3 SCREW4 SCREW5 SPIRAL0" SPIRAL1" SPIRAL2" SPIRAL3" SPIRAL4" SPIRAL5" SPIRAL6" SPIRAL7" SPIRAL8" SPIRAL9" TERMO0 TERMO1 TERMO2 TERMO3 TERMO4 TERMO5 TERMO6 TERMO7 TERMO8 HANDUP HANDOPEN HANDUR PAINT" Second Library of cursors WRITE" ERASE" CANCEL MOUSE" Get the current control with the input focus.e Get the Pictures box handles Get the Window handle of Command1. Restore the focus to the control with the input focusu One millisecondu Form_Unload Restore the custom cursors to the system cursor: (CursHandle(3) is the windows arrow) Remove the rem if you want to fix the observation reported in note 1 in CURLIBM.BAST LastCursor = SetClassWord(Form1.hWnd, GCW_HCURSOR, CursHandle(3))) LastCursor = SetClassWord(Command1hWnd, GCW_HCURSOR, CursHandle(3)) Delete the cursor resources from memory: For A = 1 To 114 Timer1_Timer Get the current (absolute) cursor position Find out which control the midpoint of the cursor is over (The cursorr is 32 x 32 pixels square) and change the class word of the control to the appropriate cursor. Redisplay cursor for animation Write the cursor position in Label1 Position Command1_Click